<?php

if(!isset($ruta_raiz))
	$ruta_raiz="../";
else if(! strpos($ruta_raiz,"/"))
 		$ruta_raiz.="/";
	

//require_once($ruta_raiz."radsalida/masiva/OpenDocText.class.php" );	

class ArchivosOdt extends CombinadorFactory {
	private $odt;
	public function ArchivosOdt($enlaceArchivo){
		parent::CombinadorFactory();
		$this->enlaceArchivo=$enlaceArchivo;
		
	}
	public function generarArchivoInsumo($campos){
		global  $ruta_raiz;
		if (!$campos || ! is_array($campos) || count($campos)<3) 
			 	throw new Exception("no hay campos para el Insumo o son insuficientes");
		 foreach ($campos as $clave=>$valor){
					$this->valores[]=str_replace(array("<",">"),array("'","'") ,$valor);
		 			$this->variables[]=$clave;
		 		}
	}
	
	protected function combinar(){
				global $ruta_raiz;
			/*	//Se carga el archivo odt Original 
				$archivoACargar =$ruta_raiz.$this->archivoCombinador;
				$nombreArchivo=substr($this->enlaceArchivo,strrpos($this->enlaceArchivo,"/")+1);
				print "A cargar ".$archivoACargar." hhhhhh"."nombre Archivo  ".$nombreArchivo;
				$this->odt->cargarOdt( $archivoACargar, $nombreArchivo);
				print $this->cache."HOLA MUNDO";
				$this->odt->setWorkDir($ruta_raiz.$this->cache);
							
				$accion = $this->odt->abrirOdt();
					$this->odt->setVariable( $this->valores, $this->variables);
					
					*/
				$this->setArchivoCombinar();
				$this->odt = new OpenDocText();
				$this->odt->setDebugMode(false);
				$accion = false;
				//Se carga el archivo odt Original 
				$archivoACargar = str_replace('../','',$this->enlaceArchivo);
				$nombreArchivo=substr($this->enlaceArchivo,strrpos($this->enlaceArchivo,"/")+1);
				$this->odt->cargarOdt( "$archivoACargar", $nombreArchivo );
				$this->odt->setWorkDir($ruta_raiz.$this->cache);
				$accion = $this->odt->abrirOdt();
				if(!$accion)
					throw  new Exception("Problemas en el servidor abriendo archivo ODT para combinacion");
								
				$this->odt->cargarContenido();
		 	}
	protected function salvar(){
			
			$tipoUnitario = '1';
			$this->odt->setVariable($this->variables, $this->valores);
			$linkarchivo_grabar=substr($this->enlaceArchivo,strrpos($this->enlaceArchivo,"bodega")+6);
			if($this->vistaPrevia){
					$linkarchivo_grabar = str_replace("bodega/","",$this->enlaceTemporal);
			 	 	$linkarchivo_grabar = str_replace("./","",$linkarchivo_grabar);	
			 	 	$archivoDefinitivo = $this->odt->salvarCambios( null, $linkarchivo_grabar, '1' );
			 	}else {
				
					$this->odt->salvarCambios( null,$linkarchivo_grabar, '1' );
					$archivoDefinitivo=$this->enlaceArchivo;	
			 	}
			 	  $this->odt->borrar();
			return $linkarchivo_grabar;
	}	
}	
?>		